/* MyVoyageBoard split stylesheet: styles-financial-latitudes.css
   Free at Sea, dining, Latitudes benefits and final responsive polish
   Preserves original cascade order from styles.css. */

/* =========================================================
   MyVoyageBoard — Free at Sea / Free at Sea Plus
   ========================================================= */
#trip-form .mvb-fas-package-card{
  margin:0 0 16px;
  padding:16px;
  border:1px solid rgba(100,116,139,.20);
  border-radius:18px;
  background:linear-gradient(135deg, rgba(255,248,235,.85), rgba(255,255,255,.92));
}
#trip-form .mvb-fas-package-title{
  font-weight:900;
  color:var(--text);
}
#trip-form .mvb-fas-package-sub{
  margin-top:3px;
  font-size:.88rem;
  color:var(--muted);
}
#trip-form .mvb-fas-package-choice{
  display:grid;
  grid-template-columns:.7fr 1fr 1.2fr;
  gap:6px;
  margin-top:13px;
}
#trip-form .mvb-fas-package-btn{
  min-height:44px;
  border:1px solid rgba(100,116,139,.22);
  border-radius:13px;
  background:rgba(255,255,255,.72);
  color:var(--muted);
  font:inherit;
  font-weight:850;
  cursor:pointer;
}
#trip-form .mvb-fas-package-btn.is-active{
  color:var(--text);
  background:#fff;
  border-color:rgba(14,165,233,.35);
  box-shadow:0 3px 12px rgba(15,23,42,.08);
}
#trip-form .mvb-fas-package-note{
  margin-top:10px;
  padding:9px 11px;
  border-radius:11px;
  background:rgba(14,165,233,.06);
  color:var(--muted);
  font-size:.84rem;
}
#trip-form .mvb-addon-included-by-package{
  position:relative;
}
#trip-form .mvb-addon-included-by-package::after{
  content:"Included";
  margin-left:8px;
  font-size:.72rem;
  font-weight:850;
  color:#17864b;
}

.mvb-fas-voyage-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  padding:4px 10px;
  margin-left:6px;
  border:1px solid rgba(245,158,11,.28);
  border-radius:999px;
  background:rgba(255,247,225,.92);
  font-size:.95rem;
  font-weight:900;
  vertical-align:middle;
}

@media (max-width:700px){
  
  #trip-form .mvb-fas-package-btn{
    min-height:46px;
  }
}


/* MyVoyageBoard — Free at Sea specialty dining calculator */
#trip-form .mvb-fas-dining-card{margin:0 0 14px;padding:14px;border:1px solid rgba(100,116,139,.18);border-radius:16px;background:rgba(255,255,255,.62)}
#trip-form .mvb-fas-dining-card[hidden]{display:none!important}
#trip-form .mvb-fas-dining-head{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center}
#trip-form .mvb-fas-dining-title{font-weight:900;color:var(--text)}
#trip-form .mvb-fas-dining-sub{margin-top:3px;font-size:.84rem;color:var(--muted)}
#trip-form .mvb-fas-dining-choice{display:grid;grid-template-columns:72px 72px;gap:6px}
#trip-form .mvb-fas-dining-btn{min-height:38px;border:1px solid rgba(100,116,139,.22);border-radius:11px;background:rgba(255,255,255,.72);color:var(--muted);font:inherit;font-weight:850;cursor:pointer}
#trip-form .mvb-fas-dining-btn.is-active{color:var(--text);background:#fff;border-color:rgba(14,165,233,.35);box-shadow:0 2px 9px rgba(15,23,42,.07)}
#trip-form .mvb-fas-dining-result{margin-top:10px;padding:9px 11px;border-radius:11px;background:rgba(34,197,94,.07);color:var(--muted);font-size:.84rem}
@media(max-width:700px){#trip-form .mvb-fas-dining-head{grid-template-columns:1fr}#trip-form .mvb-fas-dining-choice{grid-template-columns:1fr 1fr;width:100%}}


/* =========================================================
   MyVoyageBoard — Latitudes Specialty Dining benefit
   ========================================================= */
#trip-form .mvb-latitudes-dining-card{
  margin:14px 0 16px;
  padding:15px 16px;
  border:1px solid rgba(234,179,8,.24);
  border-radius:18px;
  background:linear-gradient(135deg, rgba(255,250,230,.92), rgba(255,255,255,.94));
}
#trip-form .mvb-latitudes-dining-head{
  display:flex;
  align-items:center;
  gap:11px;
}
#trip-form .mvb-latitudes-dining-icon{
  width:40px;
  height:40px;
  flex:0 0 40px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(234,179,8,.20);
  font-size:1.2rem;
}
#trip-form .mvb-latitudes-dining-title{
  font-weight:900;
  color:var(--text);
}
#trip-form .mvb-latitudes-dining-sub{
  margin-top:2px;
  color:var(--muted);
  font-size:.84rem;
}
#trip-form .mvb-latitudes-dining-result{
  margin-top:11px;
  padding:11px 12px;
  border-radius:12px;
  background:rgba(234,179,8,.07);
  color:var(--muted);
  font-size:.88rem;
  line-height:1.4;
}
#trip-form .mvb-latitudes-dining-result strong{
  color:var(--text);
}
#trip-form .mvb-latitudes-dining-result span{
  display:inline-block;
  margin-top:2px;
}

body:not(.light) #trip-form .mvb-latitudes-dining-card{
  background:linear-gradient(135deg, rgba(87,63,18,.32), rgba(255,255,255,.035));
}

@media (max-width:700px){
  #trip-form .mvb-latitudes-dining-card{
    padding:14px;
    border-radius:16px;
  }
}


/* =========================================================
   MyVoyageBoard — compact Free at Sea + Latitudes dining
   ========================================================= */
#trip-form .mvb-fas-package-card{
  margin-bottom:10px;
  padding:12px 14px;
  border-radius:16px;
}

#trip-form .mvb-fas-package-head{
  margin-bottom:6px;
}

#trip-form .mvb-fas-package-title{
  font-size:1rem;
}

#trip-form .mvb-fas-package-sub{
  margin-top:1px;
  font-size:.82rem;
}

#trip-form .mvb-fas-package-choice{
  margin-top:9px;
  gap:5px;
}

#trip-form .mvb-fas-package-btn{
  min-height:40px;
  border-radius:11px;
  padding:7px 10px;
}

#trip-form .mvb-fas-package-note{
  margin-top:7px;
  padding:7px 10px;
  font-size:.8rem;
  border-radius:10px;
}

/* Specialty Dining now reads as a compact row inside Free at Sea. */
#trip-form .mvb-fas-dining-card{
  margin-top:9px;
  padding:10px 11px;
  border-radius:12px;
}

#trip-form .mvb-fas-dining-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
}

#trip-form .mvb-fas-dining-title{
  font-size:.95rem;
}

#trip-form .mvb-fas-dining-sub{
  margin-top:1px;
  font-size:.78rem;
}

#trip-form .mvb-fas-dining-choice{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:4px;
  min-width:132px;
}

#trip-form .mvb-fas-dining-btn{
  min-height:36px;
  padding:6px 12px;
  border-radius:10px;
}

#trip-form .mvb-fas-dining-result{
  margin-top:7px;
  padding:7px 10px;
  font-size:.8rem;
  line-height:1.3;
}

/* Latitudes becomes a compact summary strip, not a large card. */
#trip-form .mvb-latitudes-dining-card{
  margin:8px 0 10px;
  padding:10px 12px;
  border-radius:14px;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(260px,.9fr);
  gap:12px;
  align-items:center;
}

#trip-form .mvb-latitudes-dining-head{
  gap:9px;
}

#trip-form .mvb-latitudes-dining-icon{
  width:34px;
  height:34px;
  flex:0 0 34px;
  border-radius:10px;
  font-size:1rem;
}

#trip-form .mvb-latitudes-dining-title{
  font-size:.92rem;
}

#trip-form .mvb-latitudes-dining-sub{
  margin-top:1px;
  font-size:.76rem;
}

#trip-form .mvb-latitudes-dining-result{
  margin:0;
  padding:8px 10px;
  border-radius:10px;
  font-size:.8rem;
  line-height:1.3;
}

#trip-form .mvb-latitudes-dining-result span{
  margin-top:1px;
}

@media (max-width:700px){
  #trip-form .mvb-fas-package-choice{
    grid-template-columns:1fr;
  }

  #trip-form .mvb-fas-dining-head{
    grid-template-columns:1fr;
  }

  #trip-form .mvb-fas-dining-choice{
    width:100%;
    min-width:0;
  }

  #trip-form .mvb-latitudes-dining-card{
    grid-template-columns:1fr;
    gap:8px;
    padding:10px 11px;
  }

  #trip-form .mvb-latitudes-dining-result{
    margin:0;
  }
}

/* MVB Latitudes Benefits hero popup */
.mvb-lat-benefits-under-hero{display:contents}.mvb-lat-benefits-btn{border:1px solid #d8e2eb;background:#f8fbff;border-radius:999px;padding:7px 12px;font:inherit;font-size:.78rem;font-weight:800;cursor:pointer}.mvb-lat-benefits-overlay{position:fixed;inset:0;z-index:10050;background:rgba(20,31,48,.58);backdrop-filter:blur(7px);display:grid;place-items:center;padding:18px}.mvb-lat-benefits-modal{width:min(620px,100%);max-height:88vh;overflow:auto;background:#fff;border-radius:24px;padding:22px;box-shadow:0 30px 80px rgba(0,0,0,.25)}.mvb-lat-benefits-head{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid #e7ebef;padding-bottom:14px}.mvb-lat-benefits-kicker{font-size:.72rem;font-weight:900;letter-spacing:.16em;color:#2788b7}.mvb-lat-benefits-head h3{font-size:1.5rem;margin:3px 0}.mvb-lat-benefits-head p{margin:0;color:#66748a;font-size:.88rem}.mvb-lat-benefits-close{width:40px;height:40px;border-radius:50%;border:1px solid #dbe1e8;background:#fff;font-size:1.4rem}.mvb-lat-benefits-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:14px}.mvb-lat-benefit{display:flex;gap:10px;align-items:center;padding:11px 12px;border:1px solid #e2e9ef;background:#f9fcff;border-radius:14px;min-height:58px}.mvb-lat-benefit strong{font-size:.88rem}.mvb-lat-benefit small{display:block;color:#728096;font-size:.73rem}.mvb-lat-benefits-notice{margin-top:12px;padding:10px;background:#fff8e8;border-radius:12px;font-size:.82rem}.mvb-lat-benefits-foot{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:15px;padding-top:12px;border-top:1px solid #e7ebef;font-size:.72rem;color:#778398}@media(max-width:650px){.mvb-lat-benefits-under-hero{padding:7px 10px 0}.mvb-lat-benefits-btn{width:100%}.mvb-lat-benefits-grid{grid-template-columns:1fr}.mvb-lat-benefits-modal{padding:17px;border-radius:20px}}





/* MVB_LATITUDES_ACTION_ROW_FIX_V2 */
.mvb-lat-benefits-under-hero{
  display:contents !important;
}

.mvb-lat-benefits-btn{
  position:static !important;
  float:none !important;
  width:auto !important;
  min-width:0 !important;
  min-height:0 !important;
  margin:0 !important;
  white-space:nowrap;
}

/* Keep Delete intentionally compact so all desktop actions fit cleanly. */
@media (min-width: 760px){
  .trip-actions .danger,
  .trip-actions .delete,
  .trip-actions button[data-action="delete"],
  .tripActions .danger,
  .tripActions .delete,
  .tripActions button[data-action="delete"]{
    flex:0 0 auto !important;
    width:auto !important;
    min-width:78px !important;
    padding-left:12px !important;
    padding-right:12px !important;
  }

  .mvb-lat-benefits-btn{
    flex:0 0 auto !important;
    padding-left:12px !important;
    padding-right:12px !important;
  }
}

/* On smaller screens it behaves like the rest of the action buttons and wraps naturally. */
@media (max-width: 759px){
  .mvb-lat-benefits-btn{
    width:100% !important;
  }
}

/* MVB_LAT_DINING_BOOKING_REMINDER_V1 */
.mvb-lat-booking-date{background:linear-gradient(135deg,#fffdf4,#f8fcff)}
.mvb-lat-dining-reminder-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:12px;padding:12px 14px;border:1px solid #dfe8ef;border-radius:14px;background:#f8fbff}
.mvb-lat-dining-reminder-row strong{display:block;font-size:.9rem}.mvb-lat-dining-reminder-row small{display:block;margin-top:2px;color:#728096;font-size:.75rem}
.mvb-lat-reminder-switch{position:relative;width:50px;height:30px;flex:0 0 50px}.mvb-lat-reminder-switch input{position:absolute;opacity:0}.mvb-lat-reminder-switch span{position:absolute;inset:0;border-radius:999px;background:#d6dfe7;cursor:pointer;transition:.18s}.mvb-lat-reminder-switch span:after{content:"";position:absolute;width:24px;height:24px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.18);transition:.18s}.mvb-lat-reminder-switch input:checked+span{background:#19a8d8}.mvb-lat-reminder-switch input:checked+span:after{transform:translateX(20px)}


/* MVB — cost-dependent controls only; never hide the whole travel card */
#trip-form .mvb-cost-dependent-hidden{
  display:none !important;
}


/* MVB_COST_VISIBILITY_EXACT_V3
   Cost-dependent questions only; travel cards always remain visible. */
#trip-form .mvb-cost-dependent-hidden{
  display:none !important;
}


/* =========================================================
   MVB_PAYMENT_TIP_RESPONSIVE_FIX_V1
   Keep Already Paid controls + helper copy readable when the
   Edit Voyage desktop modal is resized narrower.
   ========================================================= */

#trip-form .extra-paid-row{
  display:grid !important;
  grid-template-columns:minmax(250px, 360px) minmax(260px, 1fr);
  gap:12px;
  align-items:center;
  width:100%;
  min-width:0;
}

#trip-form .extra-paid-row > *{
  min-width:0;
}

#trip-form .extra-paid-row .extra-paid-choice,
#trip-form .extra-paid-row [role="group"]{
  width:100%;
  min-width:0;
}

#trip-form .extra-paid-row .extra-paid-note,
#trip-form .extra-paid-row .extra-paid-status,
#trip-form .extra-paid-row [id$="-paid-note"],
#trip-form .extra-paid-row [class*="paid-note"]{
  width:100%;
  max-width:none;
  min-width:0;
  white-space:normal;
  overflow-wrap:normal;
  word-break:normal;
  line-height:1.35;
}

/* Mid-size desktop/tablet widths:
   stack the status message below instead of crushing it. */
@media (max-width: 1080px){
  #trip-form .extra-paid-row{
    grid-template-columns:1fr !important;
    gap:8px;
    align-items:stretch;
  }

  #trip-form .extra-paid-row .extra-paid-choice,
  #trip-form .extra-paid-row [role="group"]{
    max-width:420px;
  }
}

/* Mobile remains fully stacked and touch friendly. */
@media (max-width: 700px){
  #trip-form .extra-paid-row{
    grid-template-columns:1fr !important;
    gap:7px;
  }

  #trip-form .extra-paid-row .extra-paid-choice,
  #trip-form .extra-paid-row [role="group"]{
    max-width:none;
    width:100%;
  }
}


/* MVB_LATITUDES_BENEFIT_DATES_V1 */
.mvb-lat-benefit small{
  display:block;
  margin-top:3px;
  color:#738197;
  font-size:.70rem;
  line-height:1.25;
}
.mvb-lat-benefit strong + small{
  max-width:100%;
}






/* =========================================================
   MVB_LATITUDES_USE_PLANNER_MODAL_PATTERN_V1
   Latitudes now shares the Voyage Planner modal structure.
   Desktop remains compact; mobile inherits Planner full-screen behavior.
   ========================================================= */

.mvb-lat-benefits-overlay.mvb-planner-modal-backdrop{
  display:flex;
}

.mvb-lat-benefits-modal.mvb-planner-modal{
  width:min(620px,100%);
  max-height:min(88dvh,860px);
}

.mvb-lat-benefits-head.mvb-planner-modal-head{
  background:#fff;
}

.mvb-lat-benefits-body.mvb-planner-modal-body{
  padding:14px 18px 18px;
}

.mvb-lat-benefits-mobile-actions.mvb-planner-modal-foot{
  display:flex;
  justify-content:flex-end;
}

.mvb-lat-benefits-done.mvb-planner-modal-done{
  min-width:128px;
}

@media (max-width:720px){
  /* Exact same full-screen geometry as Voyage Planner */
  .mvb-lat-benefits-overlay.mvb-planner-modal-backdrop{
    padding:0 !important;
    align-items:stretch !important;
  }

  .mvb-lat-benefits-modal.mvb-planner-modal{
    width:100% !important;
    height:100dvh !important;
    max-width:none !important;
    max-height:none !important;
    border-radius:0 !important;
    border-left:0 !important;
    border-right:0 !important;
    grid-template-rows:auto minmax(0,1fr) auto !important;
  }

  .mvb-lat-benefits-head.mvb-planner-modal-head{
    padding:calc(13px + env(safe-area-inset-top,0px)) 14px 12px !important;
  }

  .mvb-lat-benefits-close.mvb-planner-modal-close{
    width:40px !important;
    height:40px !important;
    flex-basis:40px !important;
  }

  .mvb-lat-benefits-body.mvb-planner-modal-body{
    overflow:auto !important;
    overscroll-behavior:contain !important;
    -webkit-overflow-scrolling:touch !important;
    padding:14px 14px 20px !important;
  }

  .mvb-lat-benefits-grid{
    grid-template-columns:1fr !important;
  }

  .mvb-lat-benefits-mobile-actions.mvb-planner-modal-foot{
    display:flex !important;
    margin:0 !important;
    padding:12px 14px calc(12px + env(safe-area-inset-bottom,0px)) !important;
  }

  .mvb-lat-benefits-done.mvb-planner-modal-done{
    width:100% !important;
    min-height:46px !important;
  }
}


/* =========================================================
   MVB_LATITUDES_MOBILE_POLISH_V1
   Keep Planner full-screen behavior, restore premium Latitudes cards.
   ========================================================= */

@media (max-width:720px){

  .mvb-lat-benefits-modal.mvb-planner-modal{
    background:
      linear-gradient(180deg, rgba(248,252,255,.98), rgba(245,249,253,.98)) !important;
  }

  .mvb-lat-benefits-head.mvb-planner-modal-head{
    background:rgba(255,255,255,.96) !important;
    border-bottom:1px solid rgba(148,163,184,.24) !important;
    box-shadow:0 4px 18px rgba(15,23,42,.04) !important;
  }

  .mvb-lat-benefits-head .mvb-lat-benefits-kicker{
    font-size:.72rem !important;
    letter-spacing:.12em !important;
    font-weight:900 !important;
  }

  .mvb-lat-benefits-head h3{
    margin:3px 0 2px !important;
    font-size:1.28rem !important;
    line-height:1.12 !important;
    font-weight:950 !important;
    letter-spacing:-.02em !important;
  }

  .mvb-lat-benefits-head p{
    margin:0 !important;
    font-size:.83rem !important;
    line-height:1.25 !important;
    color:#64748b !important;
  }

  .mvb-lat-benefits-body.mvb-planner-modal-body{
    padding:14px 14px 18px !important;
    background:
      radial-gradient(circle at 0% 0%, rgba(56,189,248,.07), transparent 34%),
      radial-gradient(circle at 100% 0%, rgba(8,120,189,.05), transparent 30%);
  }

  .mvb-lat-benefits-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    margin:0 !important;
  }

  .mvb-lat-benefit{
    display:grid !important;
    grid-template-columns:40px minmax(0,1fr) !important;
    align-items:center !important;
    gap:10px !important;
    width:100% !important;
    margin:0 !important;
    padding:11px 12px !important;
    min-height:68px !important;
    border:1px solid rgba(148,163,184,.22) !important;
    border-radius:16px !important;
    background:rgba(255,255,255,.92) !important;
    box-shadow:0 4px 14px rgba(15,23,42,.045) !important;
  }

  .mvb-lat-benefit > span{
    width:38px !important;
    height:38px !important;
    display:grid !important;
    place-items:center !important;
    align-self:start !important;
    border-radius:12px !important;
    background:linear-gradient(145deg,rgba(239,248,255,.96),rgba(248,250,252,.98)) !important;
    border:1px solid rgba(125,211,252,.28) !important;
    font-size:1.1rem !important;
    line-height:1 !important;
  }

  .mvb-lat-benefit > div{
    min-width:0 !important;
  }

  .mvb-lat-benefit strong{
    display:block !important;
    margin:0 !important;
    font-size:.92rem !important;
    line-height:1.22 !important;
    font-weight:900 !important;
    color:#0f172a !important;
    white-space:normal !important;
    overflow-wrap:break-word !important;
  }

  .mvb-lat-benefit small{
    display:block !important;
    margin-top:3px !important;
    font-size:.72rem !important;
    line-height:1.28 !important;
    color:#64748b !important;
    white-space:normal !important;
    overflow-wrap:break-word !important;
  }

  .mvb-lat-booking-date{
    border-color:rgba(245,158,11,.28) !important;
    background:linear-gradient(135deg,rgba(255,251,235,.96),rgba(255,255,255,.94)) !important;
  }

  .mvb-lat-dining-reminder-row{
    margin:12px 0 0 !important;
    padding:12px 13px !important;
    border:1px solid rgba(14,165,233,.22) !important;
    border-radius:16px !important;
    background:linear-gradient(135deg,rgba(240,249,255,.96),rgba(255,255,255,.94)) !important;
    box-shadow:0 4px 14px rgba(15,23,42,.04) !important;
  }

  .mvb-lat-dining-reminder-row strong{
    display:block !important;
    font-size:.88rem !important;
    line-height:1.2 !important;
  }

  .mvb-lat-dining-reminder-row small{
    display:block !important;
    margin-top:3px !important;
    font-size:.72rem !important;
    line-height:1.3 !important;
    color:#64748b !important;
  }

  .mvb-lat-benefits-foot{
    display:flex !important;
    flex-direction:column !important;
    gap:3px !important;
    margin:12px 2px 0 !important;
    padding:10px 2px 0 !important;
    border-top:1px solid rgba(148,163,184,.18) !important;
    font-size:.66rem !important;
    line-height:1.3 !important;
    color:#7b8798 !important;
  }

  .mvb-lat-benefits-mobile-actions.mvb-planner-modal-foot{
    background:rgba(255,255,255,.97) !important;
    border-top:1px solid rgba(148,163,184,.22) !important;
    box-shadow:0 -8px 22px rgba(15,23,42,.06) !important;
  }

  .mvb-lat-benefits-done.mvb-planner-modal-done{
    border-radius:999px !important;
    min-height:48px !important;
    font-weight:900 !important;
  }
}

/* Larger phones / small tablets can use two columns without getting cramped. */
@media (min-width:560px) and (max-width:720px){
  .mvb-lat-benefits-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

  .mvb-lat-benefit{
    min-height:82px !important;
  }
}


/* =========================================================
   MVB_LATITUDES_MODAL_CONFLICT_FIX_V1
   Same visual/full-screen pattern as Planner, WITHOUT using
   Planner's DOM classes or JS state.
   ========================================================= */

.mvb-lat-benefits-overlay{
  position:fixed !important;
  inset:0 !important;
  z-index:2147483500 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:clamp(10px,2.5vw,24px) !important;
  background:rgba(2,6,23,.72) !important;
  backdrop-filter:blur(9px) !important;
  -webkit-backdrop-filter:blur(9px) !important;
}

.mvb-lat-benefits-modal{
  width:min(620px,100%) !important;
  max-height:min(88dvh,860px) !important;
  display:grid !important;
  grid-template-rows:auto minmax(0,1fr) auto !important;
  overflow:hidden !important;
  border:1px solid var(--card-border) !important;
  border-radius:22px !important;
  background:var(--shell-bg) !important;
  box-shadow:0 28px 90px rgba(0,0,0,.55) !important;
}

.mvb-lat-benefits-head{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:16px !important;
  margin:0 !important;
  padding:18px 20px 15px !important;
  border-bottom:1px solid var(--surface-border) !important;
  background:#fff !important;
}

.mvb-lat-benefits-close{
  appearance:none !important;
  width:42px !important;
  height:42px !important;
  min-width:42px !important;
  flex:0 0 42px !important;
  border-radius:13px !important;
  border:1px solid var(--surface-border) !important;
  background:var(--surface) !important;
  color:var(--text) !important;
  font-size:1.55rem !important;
  line-height:1 !important;
  cursor:pointer !important;
  display:grid !important;
  place-items:center !important;
}

.mvb-lat-benefits-body{
  min-height:0 !important;
  overflow:auto !important;
  overscroll-behavior:contain !important;
  padding:14px 18px 18px !important;
  -webkit-overflow-scrolling:touch !important;
}

.mvb-lat-benefits-mobile-actions{
  margin:0 !important;
  padding:12px 20px calc(12px + env(safe-area-inset-bottom,0px)) !important;
  border-top:1px solid var(--surface-border) !important;
  background:color-mix(in srgb,var(--shell-bg) 94%,transparent) !important;
  display:flex !important;
  justify-content:flex-end !important;
}

.mvb-lat-benefits-done{
  min-width:128px !important;
  min-height:42px !important;
}

body.mvb-lat-benefits-open{
  overflow:hidden !important;
}

/* Desktop stays compact. */
@media (min-width:721px){
  .mvb-lat-benefits-modal{
    width:min(620px,calc(100vw - 48px)) !important;
  }
}

/* Mobile uses the exact same full-screen geometry as Planner,
   but with Latitudes-only classes. */
@media (max-width:720px){
  .mvb-lat-benefits-overlay{
    padding:0 !important;
    align-items:stretch !important;
  }

  .mvb-lat-benefits-modal{
    width:100% !important;
    height:100dvh !important;
    max-width:none !important;
    max-height:none !important;
    border-radius:0 !important;
    border-left:0 !important;
    border-right:0 !important;
  }

  .mvb-lat-benefits-head{
    padding:calc(13px + env(safe-area-inset-top,0px)) 14px 12px !important;
  }

  .mvb-lat-benefits-close{
    width:40px !important;
    height:40px !important;
    min-width:40px !important;
    flex-basis:40px !important;
  }

  .mvb-lat-benefits-body{
    padding:14px 14px 20px !important;
  }

  .mvb-lat-benefits-mobile-actions{
    padding:12px 14px calc(12px + env(safe-area-inset-bottom,0px)) !important;
  }

  .mvb-lat-benefits-done{
    width:100% !important;
    min-height:46px !important;
    border-radius:999px !important;
  }
}


/* =========================================================
   MVB_LATITUDES_MOBILE_ISOLATION_FIX_V2
   Force Latitudes modal to the viewport so voyage/card layout
   can never squeeze or position it on mobile.
   ========================================================= */

@media (max-width:720px){

  html:has(body.mvb-lat-benefits-open),
  body.mvb-lat-benefits-open{
    overflow:hidden !important;
    width:100% !important;
    max-width:100% !important;
  }

  body.mvb-lat-benefits-open .mvb-lat-benefits-overlay{
    position:fixed !important;
    inset:0 !important;
    top:0 !important;
    right:0 !important;
    bottom:0 !important;
    left:0 !important;
    width:100vw !important;
    max-width:100vw !important;
    height:100dvh !important;
    max-height:100dvh !important;
    margin:0 !important;
    padding:0 !important;
    transform:none !important;
    display:block !important;
    overflow:hidden !important;
    z-index:2147483640 !important;
    background:var(--shell-bg, #fff) !important;
  }

  body.mvb-lat-benefits-open .mvb-lat-benefits-modal{
    position:fixed !important;
    inset:0 !important;
    top:0 !important;
    right:0 !important;
    bottom:0 !important;
    left:0 !important;
    width:100vw !important;
    max-width:100vw !important;
    min-width:100vw !important;
    height:100dvh !important;
    max-height:100dvh !important;
    min-height:100dvh !important;
    margin:0 !important;
    padding:0 !important;
    transform:none !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    display:grid !important;
    grid-template-rows:auto minmax(0,1fr) auto !important;
    overflow:hidden !important;
    background:
      linear-gradient(180deg, rgba(248,252,255,.99), rgba(245,249,253,.99)) !important;
    z-index:2147483641 !important;
  }

  body.mvb-lat-benefits-open .mvb-lat-benefits-head{
    position:relative !important;
    inset:auto !important;
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:calc(14px + env(safe-area-inset-top,0px)) 16px 13px !important;
    display:flex !important;
    align-items:flex-start !important;
    justify-content:space-between !important;
    gap:14px !important;
    background:rgba(255,255,255,.98) !important;
    border-bottom:1px solid rgba(148,163,184,.24) !important;
    z-index:3 !important;
  }

  body.mvb-lat-benefits-open .mvb-lat-benefits-close{
    position:relative !important;
    top:auto !important;
    right:auto !important;
    width:42px !important;
    height:42px !important;
    min-width:42px !important;
    flex:0 0 42px !important;
    margin:0 !important;
    transform:none !important;
  }

  body.mvb-lat-benefits-open .mvb-lat-benefits-body{
    position:relative !important;
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    height:auto !important;
    min-height:0 !important;
    margin:0 !important;
    padding:14px 14px 20px !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    -webkit-overflow-scrolling:touch !important;
    overscroll-behavior:contain !important;
  }

  body.mvb-lat-benefits-open .mvb-lat-benefits-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
  }

  body.mvb-lat-benefits-open .mvb-lat-benefit{
    display:grid !important;
    grid-template-columns:40px minmax(0,1fr) !important;
    gap:10px !important;
    align-items:start !important;
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    margin:0 !important;
    padding:11px 12px !important;
    border:1px solid rgba(148,163,184,.22) !important;
    border-radius:16px !important;
    background:rgba(255,255,255,.94) !important;
    box-shadow:0 4px 14px rgba(15,23,42,.045) !important;
  }

  body.mvb-lat-benefits-open .mvb-lat-benefit > span{
    width:38px !important;
    height:38px !important;
    min-width:38px !important;
    display:grid !important;
    place-items:center !important;
    margin:0 !important;
    border-radius:12px !important;
    background:linear-gradient(145deg,rgba(239,248,255,.96),rgba(248,250,252,.98)) !important;
    border:1px solid rgba(125,211,252,.28) !important;
    line-height:1 !important;
  }

  body.mvb-lat-benefits-open .mvb-lat-benefit > div{
    min-width:0 !important;
    width:auto !important;
  }

  body.mvb-lat-benefits-open .mvb-lat-benefit strong,
  body.mvb-lat-benefits-open .mvb-lat-benefit small{
    display:block !important;
    width:auto !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:break-word !important;
  }

  body.mvb-lat-benefits-open .mvb-lat-benefit strong{
    font-size:.92rem !important;
    line-height:1.22 !important;
    font-weight:900 !important;
  }

  body.mvb-lat-benefits-open .mvb-lat-benefit small{
    margin-top:3px !important;
    font-size:.72rem !important;
    line-height:1.3 !important;
    color:#64748b !important;
  }

  body.mvb-lat-benefits-open .mvb-lat-dining-reminder-row{
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    margin:12px 0 0 !important;
    padding:12px 13px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:12px !important;
    border:1px solid rgba(14,165,233,.22) !important;
    border-radius:16px !important;
    background:rgba(255,255,255,.94) !important;
  }

  body.mvb-lat-benefits-open .mvb-lat-benefits-mobile-actions{
    position:relative !important;
    bottom:auto !important;
    left:auto !important;
    right:auto !important;
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px)) !important;
    display:block !important;
    background:rgba(255,255,255,.98) !important;
    border-top:1px solid rgba(148,163,184,.22) !important;
    z-index:3 !important;
  }

  body.mvb-lat-benefits-open .mvb-lat-benefits-done{
    width:100% !important;
    max-width:none !important;
    min-height:48px !important;
    margin:0 !important;
    border-radius:999px !important;
  }
}


/* =========================================================
   MVB_LATITUDES_NIGHT_MODE_POLISH_V1
   Make View Latitudes Benefits feel native to dark mode and
   keep the dinner benefit separate from the booking-open card.
   ========================================================= */
body.dark .mvb-lat-benefits-modal,
html.dark .mvb-lat-benefits-modal,
[data-theme="dark"] .mvb-lat-benefits-modal{
  background:linear-gradient(180deg,#081226 0%,#07101f 100%) !important;
  border-color:rgba(148,163,184,.20) !important;
  box-shadow:0 30px 100px rgba(0,0,0,.68),0 0 0 1px rgba(56,189,248,.05) inset !important;
}

body.dark .mvb-lat-benefits-head,
html.dark .mvb-lat-benefits-head,
[data-theme="dark"] .mvb-lat-benefits-head{
  background:linear-gradient(135deg,#0d1b32 0%,#0a1528 100%) !important;
  border-bottom-color:rgba(148,163,184,.16) !important;
}

body.dark .mvb-lat-benefits-kicker,
html.dark .mvb-lat-benefits-kicker,
[data-theme="dark"] .mvb-lat-benefits-kicker{
  color:#67d7ff !important;
}

body.dark .mvb-lat-benefits-head h3,
html.dark .mvb-lat-benefits-head h3,
[data-theme="dark"] .mvb-lat-benefits-head h3{
  color:#f8fbff !important;
}

body.dark .mvb-lat-benefits-head p,
html.dark .mvb-lat-benefits-head p,
[data-theme="dark"] .mvb-lat-benefits-head p{
  color:#a8b6c9 !important;
}

body.dark .mvb-lat-benefits-close,
html.dark .mvb-lat-benefits-close,
[data-theme="dark"] .mvb-lat-benefits-close{
  background:#13213a !important;
  border-color:rgba(148,163,184,.22) !important;
  color:#f8fafc !important;
  box-shadow:0 8px 20px rgba(0,0,0,.22) !important;
}

body.dark .mvb-lat-benefits-close:hover,
html.dark .mvb-lat-benefits-close:hover,
[data-theme="dark"] .mvb-lat-benefits-close:hover{
  background:#1a2b49 !important;
  border-color:rgba(103,215,255,.35) !important;
}

body.dark .mvb-lat-benefit,
html.dark .mvb-lat-benefit,
[data-theme="dark"] .mvb-lat-benefit{
  background:linear-gradient(145deg,rgba(18,32,55,.96),rgba(12,24,43,.96)) !important;
  border-color:rgba(148,163,184,.16) !important;
  box-shadow:0 8px 20px rgba(0,0,0,.14) !important;
}

body.dark .mvb-lat-benefit strong,
html.dark .mvb-lat-benefit strong,
[data-theme="dark"] .mvb-lat-benefit strong{
  color:#f1f5f9 !important;
}

body.dark .mvb-lat-benefit small,
html.dark .mvb-lat-benefit small,
[data-theme="dark"] .mvb-lat-benefit small{
  color:#9fb0c6 !important;
}

body.dark .mvb-lat-dinner-benefit,
html.dark .mvb-lat-dinner-benefit,
[data-theme="dark"] .mvb-lat-dinner-benefit{
  background:linear-gradient(135deg,rgba(9,94,121,.30),rgba(14,36,66,.96)) !important;
  border-color:rgba(56,189,248,.26) !important;
}

body.dark .mvb-lat-booking-date,
html.dark .mvb-lat-booking-date,
[data-theme="dark"] .mvb-lat-booking-date{
  background:linear-gradient(135deg,rgba(92,65,16,.30),rgba(18,31,51,.96)) !important;
  border-color:rgba(250,204,21,.20) !important;
}

body.dark .mvb-lat-benefits-notice,
html.dark .mvb-lat-benefits-notice,
[data-theme="dark"] .mvb-lat-benefits-notice{
  background:rgba(120,53,15,.24) !important;
  border:1px solid rgba(251,191,36,.18) !important;
  color:#fde7ad !important;
}

body.dark .mvb-lat-dining-reminder-row,
html.dark .mvb-lat-dining-reminder-row,
[data-theme="dark"] .mvb-lat-dining-reminder-row{
  background:linear-gradient(135deg,rgba(14,42,69,.96),rgba(13,29,51,.96)) !important;
  border-color:rgba(56,189,248,.24) !important;
  color:#f1f5f9 !important;
}

body.dark .mvb-lat-dining-reminder-row small,
html.dark .mvb-lat-dining-reminder-row small,
[data-theme="dark"] .mvb-lat-dining-reminder-row small{
  color:#9fb0c6 !important;
}

body.dark .mvb-lat-benefits-foot,
html.dark .mvb-lat-benefits-foot,
[data-theme="dark"] .mvb-lat-benefits-foot{
  border-top-color:rgba(148,163,184,.14) !important;
  color:#8392a8 !important;
}

body.dark .mvb-lat-benefits-mobile-actions,
html.dark .mvb-lat-benefits-mobile-actions,
[data-theme="dark"] .mvb-lat-benefits-mobile-actions{
  background:rgba(8,18,38,.98) !important;
  border-top-color:rgba(148,163,184,.16) !important;
}

body.dark .mvb-lat-benefits-done,
html.dark .mvb-lat-benefits-done,
[data-theme="dark"] .mvb-lat-benefits-done{
  background:#16253f !important;
  border-color:rgba(148,163,184,.20) !important;
  color:#f8fafc !important;
}

body.dark .mvb-lat-benefits-done:hover,
html.dark .mvb-lat-benefits-done:hover,
[data-theme="dark"] .mvb-lat-benefits-done:hover{
  background:#1d3152 !important;
}

@media (max-width:720px){
  body.dark.mvb-lat-benefits-open .mvb-lat-dining-reminder-row,
  html.dark body.mvb-lat-benefits-open .mvb-lat-dining-reminder-row,
  [data-theme="dark"] body.mvb-lat-benefits-open .mvb-lat-dining-reminder-row{
    background:linear-gradient(135deg,rgba(14,42,69,.98),rgba(13,29,51,.98)) !important;
  }

  body.dark.mvb-lat-benefits-open .mvb-lat-benefits-mobile-actions,
  html.dark body.mvb-lat-benefits-open .mvb-lat-benefits-mobile-actions,
  [data-theme="dark"] body.mvb-lat-benefits-open .mvb-lat-benefits-mobile-actions{
    background:rgba(8,18,38,.99) !important;
    border-top-color:rgba(148,163,184,.16) !important;
  }

  body.dark.mvb-lat-benefits-open .mvb-lat-benefit small,
  html.dark body.mvb-lat-benefits-open .mvb-lat-benefit small,
  [data-theme="dark"] body.mvb-lat-benefits-open .mvb-lat-benefit small{
    color:#9fb0c6 !important;
  }
}

/* =========================================================
   MVB PREMIUM MOTION SYSTEM V1 — 2026-08-17
   Shared, subtle transitions for overlays, dialogs and controls.
   ========================================================= */
:root{
  --mvb-motion-fast:160ms;
  --mvb-motion-base:220ms;
  --mvb-motion-ease:cubic-bezier(.2,.8,.2,1);
}

/* Voyage Planner + Packing: keep mounted so close can animate. */
.mvb-planner-modal-backdrop,
.mvb-packing-modal-backdrop{
  display:flex !important;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity var(--mvb-motion-base) ease, visibility 0s linear var(--mvb-motion-base);
}
.mvb-planner-modal-backdrop[aria-hidden="false"],
.mvb-planner-modal-backdrop.is-open,
.mvb-packing-modal-backdrop[aria-hidden="false"],
.mvb-packing-modal-backdrop.is-open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transition-delay:0s;
}
.mvb-planner-modal-backdrop .mvb-planner-modal,
.mvb-packing-modal-backdrop .mvb-planner-modal{
  animation:none !important;
  opacity:0;
  transform:translateY(14px) scale(.992);
  transition:opacity var(--mvb-motion-base) ease, transform var(--mvb-motion-base) var(--mvb-motion-ease);
}
.mvb-planner-modal-backdrop[aria-hidden="false"] .mvb-planner-modal,
.mvb-planner-modal-backdrop.is-open .mvb-planner-modal,
.mvb-packing-modal-backdrop[aria-hidden="false"] .mvb-planner-modal,
.mvb-packing-modal-backdrop.is-open .mvb-planner-modal{
  opacity:1;
  transform:translateY(0) scale(1);
}

/* Latitudes Benefits uses its isolated modal classes. */
.mvb-lat-benefits-overlay{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity var(--mvb-motion-base) ease, visibility 0s linear var(--mvb-motion-base);
}
.mvb-lat-benefits-overlay[aria-hidden="false"],
body.mvb-lat-benefits-open .mvb-lat-benefits-overlay{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transition-delay:0s;
}
.mvb-lat-benefits-modal{
  opacity:0;
  transform:translateY(14px) scale(.992);
  transition:opacity var(--mvb-motion-base) ease, transform var(--mvb-motion-base) var(--mvb-motion-ease);
}
.mvb-lat-benefits-overlay[aria-hidden="false"] .mvb-lat-benefits-modal,
body.mvb-lat-benefits-open .mvb-lat-benefits-modal{
  opacity:1;
  transform:translateY(0) scale(1);
}

/* Edit Voyage backdrop/dialog state is driven by JS class below. */
#trip-modal-backdrop{
  opacity:1;
  transition:opacity var(--mvb-motion-base) ease;
}
#trip-modal-backdrop.mvb-motion-opening,
#trip-modal-backdrop.mvb-motion-closing{opacity:0;}
#trip-modal-backdrop .modal.trip-modal{
  transition:opacity var(--mvb-motion-base) ease, transform var(--mvb-motion-base) var(--mvb-motion-ease), box-shadow var(--mvb-motion-base) ease;
}
#trip-modal-backdrop.mvb-motion-opening .modal.trip-modal,
#trip-modal-backdrop.mvb-motion-closing .modal.trip-modal{
  opacity:0;
  transform:translateY(14px) scale(.992);
}

/* Small tactile feedback without making the interface busy. */
.btn,
button,
.trip-planner-open-btn,
.mvb-lat-benefits-btn,
.voyage-card,
.trip-card{
  transition-property:transform, box-shadow, filter, background-color, border-color, opacity;
  transition-duration:var(--mvb-motion-fast);
  transition-timing-function:var(--mvb-motion-ease);
}
@media (hover:hover) and (pointer:fine){
  .btn:hover,
  .trip-planner-open-btn:hover,
  .mvb-lat-benefits-btn:hover{transform:translateY(-1px);}
  .voyage-card:hover,
  .trip-card:hover{transform:translateY(-2px);}
}
.btn:active,
button:active,
.trip-planner-open-btn:active,
.mvb-lat-benefits-btn:active{transform:scale(.98);}

@media (max-width:720px){
  .mvb-planner-modal-backdrop .mvb-planner-modal,
  .mvb-packing-modal-backdrop .mvb-planner-modal,
  .mvb-lat-benefits-modal,
  #trip-modal-backdrop .modal.trip-modal{
    transform:translateY(10px);
  }
  .mvb-planner-modal-backdrop[aria-hidden="false"] .mvb-planner-modal,
  .mvb-planner-modal-backdrop.is-open .mvb-planner-modal,
  .mvb-packing-modal-backdrop[aria-hidden="false"] .mvb-planner-modal,
  .mvb-packing-modal-backdrop.is-open .mvb-planner-modal,
  .mvb-lat-benefits-overlay[aria-hidden="false"] .mvb-lat-benefits-modal,
  body.mvb-lat-benefits-open .mvb-lat-benefits-modal,
  #trip-modal-backdrop:not(.mvb-motion-opening):not(.mvb-motion-closing) .modal.trip-modal{
    transform:translateY(0);
  }
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    scroll-behavior:auto !important;
    transition-duration:.01ms !important;
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
  }
}


/* NCL onboard service charge tracking */
.mvb-service-charge-card{margin:14px 0;padding:16px;border:1px solid rgba(56,189,248,.22);border-radius:18px;background:linear-gradient(135deg,rgba(14,165,233,.06),rgba(99,102,241,.04));}
.mvb-service-charge-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.mvb-service-charge-head strong{display:block;font-size:1rem}.mvb-service-charge-head small{display:block;margin-top:3px;color:var(--muted,#64748b);line-height:1.35}.mvb-service-charge-status{white-space:nowrap;padding:5px 9px;border-radius:999px;background:rgba(245,158,11,.12);font-size:.78rem;font-weight:750}.mvb-service-charge-status.is-prepaid{background:rgba(34,197,94,.12)}.mvb-service-charge-estimate{margin-top:10px;padding:12px 14px;border-radius:14px;background:rgba(15,23,42,.045)}.mvb-service-charge-estimate strong,.mvb-service-charge-estimate small{display:block}.mvb-service-charge-estimate small{margin-top:4px;color:var(--muted,#64748b);line-height:1.4}.mvb-service-charge-hawaii{margin-top:4px}@media(max-width:700px){.mvb-service-charge-head{flex-direction:column}.mvb-service-charge-status{align-self:flex-start}}

/* v16: service-charge estimate now derives its rate from the voyage date automatically */
.mvb-service-charge-auto-note{display:flex;flex-direction:column;gap:3px;padding:10px 12px;border-radius:12px;background:rgba(127,127,127,.08);margin:8px 0 12px}
.mvb-service-charge-auto-note strong{font-size:.92rem}
.mvb-service-charge-auto-note small{opacity:.76;line-height:1.35}


/* v18 — tighter onboard service-charge card */
.mvb-service-charge-card{margin:10px 0;padding:13px 14px;border-radius:16px}
.mvb-service-charge-head{align-items:center;margin-bottom:8px}
.mvb-service-charge-head small{margin-top:2px;line-height:1.25}
.mvb-service-charge-controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;margin:2px 0 8px}
.mvb-service-charge-controls .inline-check{margin:0}
.mvb-service-charge-hawaii{margin-top:0}
.mvb-service-charge-estimate{margin-top:6px;padding:9px 11px;border-radius:12px}
.mvb-service-charge-estimate small{margin-top:2px;line-height:1.3}
.mvb-service-charge-auto-note{display:none!important}
@media(max-width:700px){.mvb-service-charge-controls{display:grid;gap:8px}.mvb-service-charge-head{flex-direction:row;align-items:flex-start}.mvb-service-charge-status{align-self:flex-start}}

/* =========================================================
   v73 — Add Voyage Travel cost-control cleanup
   The compact two-column Travel cards are narrower than the
   legacy desktop payment-row layout. Keep Included / Paid
   controls contained inside each card instead of stretching
   across the paired card beside it.
   ========================================================= */
#trip-modal-backdrop:is(.mvb-add-voyage-mode,.mvb-edit-voyage-mode) .trip-form-section-travel .transport-cost-card > .transport-cost-choice,
#trip-modal-backdrop:is(.mvb-add-voyage-mode,.mvb-edit-voyage-mode) .trip-form-section-travel .travel-extra-cost-grid .transport-cost-choice,
#trip-modal-backdrop:is(.mvb-add-voyage-mode,.mvb-edit-voyage-mode) .trip-form-section-travel .flight-included-field .flight-cost-choice{
  width:100%;
  max-width:none;
}

#trip-modal-backdrop:is(.mvb-add-voyage-mode,.mvb-edit-voyage-mode) .trip-form-section-travel .extra-paid-row{
  display:block !important;
  width:100%;
  min-width:0;
  margin-top:12px;
  padding-top:12px;
}

#trip-modal-backdrop:is(.mvb-add-voyage-mode,.mvb-edit-voyage-mode) .trip-form-section-travel .extra-paid-row > label{
  display:block;
  margin:0 0 7px;
  white-space:normal;
}

#trip-modal-backdrop:is(.mvb-add-voyage-mode,.mvb-edit-voyage-mode) .trip-form-section-travel .extra-paid-row > .flight-cost-choice,
#trip-modal-backdrop:is(.mvb-add-voyage-mode,.mvb-edit-voyage-mode) .trip-form-section-travel .extra-paid-row > .transport-cost-choice,
#trip-modal-backdrop:is(.mvb-add-voyage-mode,.mvb-edit-voyage-mode) .trip-form-section-travel .extra-paid-row [role="group"]{
  width:100%;
  max-width:none;
}

#trip-modal-backdrop:is(.mvb-add-voyage-mode,.mvb-edit-voyage-mode) .trip-form-section-travel .extra-paid-row > .transport-cost-note,
#trip-modal-backdrop:is(.mvb-add-voyage-mode,.mvb-edit-voyage-mode) .trip-form-section-travel .extra-paid-row [id$="-paid-note"]{
  width:100%;
  margin:8px 0 0;
  padding:8px 10px;
}

/* Give the yes/no controls a consistent rhythm in the new cards. */
#trip-modal-backdrop:is(.mvb-add-voyage-mode,.mvb-edit-voyage-mode) .trip-form-section-travel .transport-cost-card > label,
#trip-modal-backdrop:is(.mvb-add-voyage-mode,.mvb-edit-voyage-mode) .trip-form-section-travel .travel-extra-cost-grid label,
#trip-modal-backdrop:is(.mvb-add-voyage-mode,.mvb-edit-voyage-mode) .trip-form-section-travel .flight-cost-grid label{
  margin-top:10px;
}
#trip-modal-backdrop:is(.mvb-add-voyage-mode,.mvb-edit-voyage-mode) .trip-form-section-travel .transport-cost-card > .transport-cost-head + label{
  margin-top:0;
}
#trip-modal-backdrop:is(.mvb-add-voyage-mode,.mvb-edit-voyage-mode) .trip-form-section-travel .transport-cost-card > .transport-cost-note{
  margin-top:8px;
}

@media (max-width:820px){
  #trip-modal-backdrop:is(.mvb-add-voyage-mode,.mvb-edit-voyage-mode) .trip-form-section-travel .extra-paid-row{
    margin-top:10px;
    padding-top:10px;
  }
}

/* =========================================================
   v74 — Add Voyage Travel: Stay & Parking full-width row
   The legacy desktop Travel grid still lays the three new
   groups into two columns. Flights + Ground occupy row one;
   make Stay & Parking span both columns so Hotel + Parking
   can use the full row instead of leaving a blank right side.
   ========================================================= */
#trip-modal-backdrop:is(.mvb-add-voyage-mode,.mvb-edit-voyage-mode) #trip-form .trip-form-section-travel .travel-grid-clean > .mvb-travel-stay{
  grid-column:1 / -1 !important;
  width:100% !important;
}

#trip-modal-backdrop:is(.mvb-add-voyage-mode,.mvb-edit-voyage-mode) #trip-form .trip-form-section-travel .mvb-travel-stay{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
}

#trip-modal-backdrop:is(.mvb-add-voyage-mode,.mvb-edit-voyage-mode) #trip-form .trip-form-section-travel .mvb-travel-stay > .mvb-travel-group-head{
  grid-column:1 / -1 !important;
}

#trip-modal-backdrop:is(.mvb-add-voyage-mode,.mvb-edit-voyage-mode) #trip-form .trip-form-section-travel .mvb-travel-stay > .travel-extra-cost-card{
  grid-column:auto !important;
  width:100% !important;
  min-width:0 !important;
}

@media (max-width:820px){
  #trip-modal-backdrop:is(.mvb-add-voyage-mode,.mvb-edit-voyage-mode) #trip-form .trip-form-section-travel .mvb-travel-stay{
    grid-template-columns:1fr !important;
  }
}

/* v75 — onboard service charge toggles */
#trip-form .mvb-service-charge-controls{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
}
#trip-form .mvb-service-charge-controls .mvb-service-toggle > span{
  min-height:42px;
  padding:9px 14px;
  border-radius:13px;
}
#trip-form .mvb-service-charge-controls .mvb-service-toggle > input:checked + span{
  background:rgba(14,165,233,.11);
  border-color:rgba(14,165,233,.38);
  color:#0369a1;
}
@media(max-width:700px){
  #trip-form .mvb-service-charge-controls .mvb-service-toggle,
  #trip-form .mvb-service-charge-controls .mvb-service-toggle > span{
    width:100%;
  }
  #trip-form .mvb-service-charge-controls .mvb-service-toggle > span{
    justify-content:flex-start;
  }
}


/* =========================================================
   v80 — Travel cost On / Off buttons
   Keep the existing checkbox + button IDs and calculations,
   but make Included / Already Paid read like the newer
   MyVoyageBoard toggle controls.
   ========================================================= */
#trip-form .trip-form-section-travel .flight-cost-choice,
#trip-form .trip-form-section-travel .transport-cost-choice{
  gap:8px;
  padding:0;
  border:0;
  background:transparent;
  min-height:44px;
}
#trip-form .trip-form-section-travel .flight-cost-choice-btn,
#trip-form .trip-form-section-travel .transport-cost-choice-btn{
  min-height:44px;
  border:1px solid rgba(100,116,139,.25);
  border-radius:14px;
  background:rgba(255,255,255,.72);
  color:var(--muted,#64748b);
  box-shadow:0 1px 2px rgba(15,23,42,.04);
  transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
#trip-form .trip-form-section-travel .flight-cost-choice-btn:hover,
#trip-form .trip-form-section-travel .transport-cost-choice-btn:hover{
  border-color:rgba(14,165,233,.40);
  box-shadow:0 5px 14px rgba(15,23,42,.06);
}
#trip-form .trip-form-section-travel .flight-cost-choice-btn:active,
#trip-form .trip-form-section-travel .transport-cost-choice-btn:active{
  transform:translateY(1px);
}
/* Off remains a clear neutral selected state. */
#trip-form .trip-form-section-travel .flight-cost-choice-btn[id*="not-"].is-active,
#trip-form .trip-form-section-travel .transport-cost-choice-btn[id*="not-"].is-active{
  background:rgba(100,116,139,.10);
  border-color:rgba(100,116,139,.30);
  color:var(--text,#0f172a);
  box-shadow:0 0 0 1px rgba(100,116,139,.04) inset;
}
/* On is positive and visually matches the other active toggles. */
#trip-form .trip-form-section-travel .flight-cost-choice-btn:not([id*="not-"]).is-active,
#trip-form .trip-form-section-travel .transport-cost-choice-btn:not([id*="not-"]).is-active{
  background:rgba(34,197,94,.12);
  border-color:rgba(34,197,94,.44);
  color:#15803d;
  box-shadow:0 0 0 1px rgba(34,197,94,.05) inset;
}
body:not(.light) #trip-form .trip-form-section-travel .flight-cost-choice-btn[id*="not-"].is-active,
body:not(.light) #trip-form .trip-form-section-travel .transport-cost-choice-btn[id*="not-"].is-active{
  background:rgba(255,255,255,.08);
  color:#fff;
}
body:not(.light) #trip-form .trip-form-section-travel .flight-cost-choice-btn:not([id*="not-"]).is-active,
body:not(.light) #trip-form .trip-form-section-travel .transport-cost-choice-btn:not([id*="not-"]).is-active{
  background:rgba(34,197,94,.18);
  color:#86efac;
}


/* =========================================================
   v85 — compact single-button Travel toggles
   One button now flips between Off and On while the original
   hidden checkbox remains the source of truth for all totals.
   ========================================================= */
#trip-form .trip-form-section-travel .flight-cost-choice,
#trip-form .trip-form-section-travel .transport-cost-choice{
  display:block;
  width:100%;
  min-height:0;
}
#trip-form .trip-form-section-travel .flight-cost-choice-btn[id*="not-"],
#trip-form .trip-form-section-travel .transport-cost-choice-btn[id*="not-"]{
  display:none !important;
}
#trip-form .trip-form-section-travel .flight-cost-choice-btn:not([id*="not-"]),
#trip-form .trip-form-section-travel .transport-cost-choice-btn:not([id*="not-"]){
  width:100%;
  min-height:48px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:10px 16px;
  border-radius:16px;
  background:rgba(100,116,139,.08);
  border:1px solid rgba(100,116,139,.24);
  color:var(--text,#0f172a);
  font-weight:900;
  box-shadow:0 1px 2px rgba(15,23,42,.04);
}
#trip-form .trip-form-section-travel .flight-cost-choice-btn:not([id*="not-"]).is-active,
#trip-form .trip-form-section-travel .transport-cost-choice-btn:not([id*="not-"]).is-active{
  background:rgba(34,197,94,.12);
  border-color:rgba(34,197,94,.44);
  color:#15803d;
  box-shadow:0 0 0 1px rgba(34,197,94,.05) inset;
}
body:not(.light) #trip-form .trip-form-section-travel .flight-cost-choice-btn:not([id*="not-"]),
body:not(.light) #trip-form .trip-form-section-travel .transport-cost-choice-btn:not([id*="not-"]){
  background:rgba(255,255,255,.06);
  border-color:rgba(255,255,255,.14);
  color:#e5edf8;
}
body:not(.light) #trip-form .trip-form-section-travel .flight-cost-choice-btn:not([id*="not-"]).is-active,
body:not(.light) #trip-form .trip-form-section-travel .transport-cost-choice-btn:not([id*="not-"]).is-active{
  background:rgba(34,197,94,.18);
  border-color:rgba(74,222,128,.42);
  color:#86efac;
}


/* MVB v86 — definitive visibility for travel "Already Paid" rows.
   Hide when there is no cost, or when the cost is included in voyage fare. */
#trip-form .extra-paid-row[hidden],
#trip-form .extra-paid-row.mvb-extra-paid-hidden,
#trip-form .extra-paid-row.mvb-cost-dependent-hidden{
  display:none !important;
}


/* MVB v88 — travel cost visibility specificity fix.
   Add/Edit Voyage layout rules must not force hidden Already Paid rows back open. */
#trip-modal-backdrop:is(.mvb-add-voyage-mode,.mvb-edit-voyage-mode) #trip-form .trip-form-section-travel .extra-paid-row[hidden],
#trip-modal-backdrop:is(.mvb-add-voyage-mode,.mvb-edit-voyage-mode) #trip-form .trip-form-section-travel .extra-paid-row.mvb-extra-paid-hidden,
#trip-modal-backdrop:is(.mvb-add-voyage-mode,.mvb-edit-voyage-mode) #trip-form .trip-form-section-travel .extra-paid-row.mvb-cost-dependent-hidden,
#trip-form .trip-form-section-travel .extra-paid-row[hidden],
#trip-form .trip-form-section-travel .extra-paid-row.mvb-extra-paid-hidden,
#trip-form .trip-form-section-travel .extra-paid-row.mvb-cost-dependent-hidden{
  display:none !important;
}

/* =========================================================
   v91 — Dark-mode consistency for Free at Sea + service charge
   ========================================================= */
body:not(.light) #trip-form .mvb-fas-package-card{
  background:linear-gradient(135deg, rgba(16,30,50,.96), rgba(17,25,45,.96));
  border-color:rgba(56,189,248,.24);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}
body:not(.light) #trip-form .mvb-fas-package-btn{
  background:rgba(15,23,42,.78);
  border-color:rgba(148,163,184,.26);
  color:var(--muted,#a8b3c5);
}
body:not(.light) #trip-form .mvb-fas-package-btn.is-active{
  background:rgba(14,165,233,.12);
  border-color:rgba(56,189,248,.52);
  color:var(--text,#f8fafc);
  box-shadow:0 0 0 1px rgba(56,189,248,.06) inset;
}
body:not(.light) #trip-form .mvb-fas-package-note{
  background:rgba(14,165,233,.10);
  color:var(--muted,#a8b3c5);
}
body:not(.light) #trip-form .mvb-fas-dining-card{
  background:rgba(15,23,42,.62);
  border-color:rgba(148,163,184,.22);
}
body:not(.light) #trip-form .mvb-fas-dining-btn{
  background:rgba(15,23,42,.80);
  border-color:rgba(148,163,184,.26);
  color:var(--muted,#a8b3c5);
}
body:not(.light) #trip-form .mvb-fas-dining-btn.is-active{
  background:rgba(14,165,233,.12);
  border-color:rgba(56,189,248,.50);
  color:var(--text,#f8fafc);
  box-shadow:none;
}
body:not(.light) #trip-form .mvb-fas-dining-result{
  background:rgba(34,197,94,.10);
  color:var(--muted,#a8b3c5);
}
body:not(.light) #trip-form .mvb-service-charge-card{
  background:linear-gradient(135deg, rgba(14,165,233,.08), rgba(99,102,241,.07));
  border-color:rgba(56,189,248,.26);
}
body:not(.light) #trip-form .mvb-service-charge-estimate{
  background:rgba(15,23,42,.52);
}
